package com.item.practice;

import java.util.Comparator;
import java.util.Scanner;
import java.util.TreeSet;

public class TreeSetPractice {
    public static void main(String[] args) {
        /**
         * 1.创建TreeSet集合，存储Person对象，要求按照年龄升序排序
         * 2.Scanner对象，监听器录入
         * 3.开启for循环，3次
         * 4.每个循环中
         *   ---1.提示用户录入姓名和成绩
         *   ---2.创建Person对象，把键盘录入的数据封装到Person对象中
         *   ---3.把Person对象添加到TreeSet集合中
         * 5.遍历TreeSet集合，打印集合中的元素
         */
        //1.
        TreeSet<Person> ts = new TreeSet<>(new Comparator<Person>() {
            @Override
            public int compare(Person o1, Person o2) {
                //o2总成绩-o1总成绩
                return (int) (o2.getChinese()+o2.getMath()+o2.getEnglish()-o1.getChinese()-o1.getMath()-o1.getEnglish());
            }
        });
        Scanner scanner = new Scanner(System.in);
        for(int i = 0; i < 3; i++){
            System.out.println("请输入第"+(i+1)+"个学生信息");
            System.out.println("请输入姓名：");
            //录入时不能用空格
            String name = scanner.next();
            System.out.println("请输入语文成绩：");
            double chinese = scanner.nextDouble();
            System.out.println("请输入数学成绩：");
            double math = scanner.nextDouble();
            System.out.println("请输入英语成绩：");
            double english = scanner.nextDouble();
            //创建Person对象
            Person p = new Person(name, chinese, math, english);
            ts.add(p);
        }
        //遍历集合
        for(Person p : ts){
            System.out.println(p);
        }
    }
}
